package br.org.acessobrasil.portal.action.itemConteudo;

import java.util.List;

import br.org.acessobrasil.portal.facade.ItemConteudoFacade;
import br.org.acessobrasil.portal.modelo.Arquivo;
import br.org.acessobrasil.portal.modelo.Conteudo;
import br.org.acessobrasil.portal.modelo.InformacaoTipoConteudo;
import br.org.acessobrasil.portal.modelo.ItemConteudo;
import br.org.acessobrasil.portal.modelo.Usuario;

public interface ItemConteudoInterface {
	/**
	 * String para validar um conteudo
	 */
	public static String strTemplateParaAvaliacao=	"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"
		+"<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"pt-br\">"
		+"<head>"
			+"<title>Titulo</title>"
			+"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />"	
		+"</head>"
		+"<body><div>\n{conteudo}</div></body></html>";
	

	/**
	 * 
	 * @return formulario para editar o item e tambem o relatorio de erros
	 */
	public abstract String getFormEditar();

	/**
	 * Link para publicar, homologar, restaurar ou despublicar um item
	 * @return link de possibilidades
	 */
	public abstract String getLink();

	public abstract List<ItemConteudo> getListItemConteudo();

	public abstract void setListItemConteudo(List<ItemConteudo> listConteudo);

	public abstract Conteudo getConteudo();

	public abstract void setConteudo(Conteudo conteudo);

	public abstract ItemConteudo getItemConteudo();

	public abstract void setItemConteudo(ItemConteudo itemConteudo);

	public abstract String execute() throws Exception;
	public abstract String getBtnSalvarPublicar();
	public abstract void setBtnSalvarPublicar(String string);
	public InformacaoTipoConteudo getInformacaoTipoConteudo();
	public void setInformacaoTipoConteudo(InformacaoTipoConteudo informacaoTipoConteudo);
	public Arquivo getArquivo();
	public void setArquivo(Arquivo arquivo);
	public int getEscolhendo();
	public void setEscolhendo(int escolhendo);
	
	public Usuario getUsuarioLogado();
	/**
	 * Atualiza o usuario da sessao
	 * @param usuarioLogado
	 */
	public void setUsuarioLogado(Usuario usuarioLogado);
	
	/**
	 * Utilizado para saber se o usuario apertou o btnCancelar em apagar 
	 * @return null caso nao tenha apertado o cancelar
	 */
	public String getBtnCancelar();
	public void setBtnCancelar(String btnCancelar);
	public String getBtnApagar();
	public void setBtnApagar(String btnApagar);
	public String getBtnAcessibilizar();	
	public void setBtnAcessibilizar(String btnAcessibilizar);
	public String getBtnFindAndReplace();
	public void setBtnFindAndReplace(String btnFindAndReplace);
	
	public String getProcurar();
	public void setProcurar(String procurar);
	public String getSubstituir();
	public void setSubstituir(String substituir);
	public ItemConteudoFacade getItemConteudoFacade();
	public void setItemConteudoFacade(ItemConteudoFacade itemConteudoFacade);
}